home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / PrintingStatus.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.2 KB  |  193 lines

  1. package sun.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.event.WindowAdapter;
  5. import java.awt.print.Printable;
  6. import java.awt.print.PrinterJob;
  7. import java.lang.reflect.InvocationTargetException;
  8. import java.text.MessageFormat;
  9. import java.util.concurrent.atomic.AtomicBoolean;
  10. import javax.swing.Action;
  11. import javax.swing.Icon;
  12. import javax.swing.JButton;
  13. import javax.swing.JDialog;
  14. import javax.swing.JLabel;
  15. import javax.swing.JOptionPane;
  16. import javax.swing.JViewport;
  17. import javax.swing.SwingUtilities;
  18. import javax.swing.UIManager;
  19.  
  20. public class PrintingStatus {
  21.    private final PrinterJob job;
  22.    private final Component parent;
  23.    private JDialog abortDialog;
  24.    private JButton abortButton;
  25.    private JLabel statusLabel;
  26.    private MessageFormat statusFormat;
  27.    private final AtomicBoolean isAborted = new AtomicBoolean(false);
  28.    private final Action abortAction = new 1(this);
  29.    private final WindowAdapter closeListener = new 2(this);
  30.  
  31.    public static PrintingStatus createPrintingStatus(Component var0, PrinterJob var1) {
  32.       return new PrintingStatus(var0, var1);
  33.    }
  34.  
  35.    protected PrintingStatus(Component var1, PrinterJob var2) {
  36.       this.job = var2;
  37.       this.parent = var1;
  38.    }
  39.  
  40.    private void init() {
  41.       String var1 = UIManager.getString("PrintingDialog.titleProgressText");
  42.       String var2 = UIManager.getString("PrintingDialog.contentInitialText");
  43.       this.statusFormat = new MessageFormat(UIManager.getString("PrintingDialog.contentProgressText"));
  44.       String var3 = UIManager.getString("PrintingDialog.abortButtonText");
  45.       String var4 = UIManager.getString("PrintingDialog.abortButtonToolTipText");
  46.       int var5 = getInt("PrintingDialog.abortButtonMnemonic", -1);
  47.       int var6 = getInt("PrintingDialog.abortButtonDisplayedMnemonicIndex", -1);
  48.       this.abortButton = new JButton(var3);
  49.       this.abortButton.addActionListener(this.abortAction);
  50.       this.abortButton.setToolTipText(var4);
  51.       if (var5 != -1) {
  52.          this.abortButton.setMnemonic(var5);
  53.       }
  54.  
  55.       if (var6 != -1) {
  56.          this.abortButton.setDisplayedMnemonicIndex(var6);
  57.       }
  58.  
  59.       this.statusLabel = new JLabel(var2);
  60.       JOptionPane var7 = new JOptionPane(this.statusLabel, 1, -1, (Icon)null, new Object[]{this.abortButton}, this.abortButton);
  61.       var7.getActionMap().put("close", this.abortAction);
  62.       if (this.parent != null && this.parent.getParent() instanceof JViewport) {
  63.          this.abortDialog = var7.createDialog(this.parent.getParent(), var1);
  64.       } else {
  65.          this.abortDialog = var7.createDialog(this.parent, var1);
  66.       }
  67.  
  68.       this.abortDialog.setDefaultCloseOperation(0);
  69.       this.abortDialog.addWindowListener(this.closeListener);
  70.    }
  71.  
  72.    public void showModal(boolean var1) {
  73.       if (SwingUtilities.isEventDispatchThread()) {
  74.          this.showModalOnEDT(var1);
  75.       } else {
  76.          try {
  77.             SwingUtilities.invokeAndWait(new 3(this, var1));
  78.          } catch (InterruptedException var4) {
  79.             throw new RuntimeException(var4);
  80.          } catch (InvocationTargetException var5) {
  81.             Throwable var3 = var5.getCause();
  82.             if (var3 instanceof RuntimeException) {
  83.                throw (RuntimeException)var3;
  84.             }
  85.  
  86.             if (var3 instanceof Error) {
  87.                throw (Error)var3;
  88.             }
  89.  
  90.             throw new RuntimeException(var3);
  91.          }
  92.       }
  93.  
  94.    }
  95.  
  96.    private void showModalOnEDT(boolean var1) {
  97.       assert SwingUtilities.isEventDispatchThread();
  98.  
  99.       this.init();
  100.       this.abortDialog.setModal(var1);
  101.       this.abortDialog.setVisible(true);
  102.    }
  103.  
  104.    public void dispose() {
  105.       if (SwingUtilities.isEventDispatchThread()) {
  106.          this.disposeOnEDT();
  107.       } else {
  108.          SwingUtilities.invokeLater(new 4(this));
  109.       }
  110.  
  111.    }
  112.  
  113.    private void disposeOnEDT() {
  114.       assert SwingUtilities.isEventDispatchThread();
  115.  
  116.       if (this.abortDialog != null) {
  117.          this.abortDialog.removeWindowListener(this.closeListener);
  118.          this.abortDialog.dispose();
  119.          this.abortDialog = null;
  120.       }
  121.  
  122.    }
  123.  
  124.    public boolean isAborted() {
  125.       return this.isAborted.get();
  126.    }
  127.  
  128.    public Printable createNotificationPrintable(Printable var1) {
  129.       return new NotificationPrintable(this, var1);
  130.    }
  131.  
  132.    static int getInt(Object var0, int var1) {
  133.       Object var2 = UIManager.get(var0);
  134.       if (var2 instanceof Integer) {
  135.          return (Integer)var2;
  136.       } else {
  137.          if (var2 instanceof String) {
  138.             try {
  139.                return Integer.parseInt((String)var2);
  140.             } catch (NumberFormatException var4) {
  141.             }
  142.          }
  143.  
  144.          return var1;
  145.       }
  146.    }
  147.  
  148.    // $FF: synthetic method
  149.    static AtomicBoolean access$000(PrintingStatus var0) {
  150.       return var0.isAborted;
  151.    }
  152.  
  153.    // $FF: synthetic method
  154.    static JButton access$100(PrintingStatus var0) {
  155.       return var0.abortButton;
  156.    }
  157.  
  158.    // $FF: synthetic method
  159.    static JDialog access$200(PrintingStatus var0) {
  160.       return var0.abortDialog;
  161.    }
  162.  
  163.    // $FF: synthetic method
  164.    static JLabel access$300(PrintingStatus var0) {
  165.       return var0.statusLabel;
  166.    }
  167.  
  168.    // $FF: synthetic method
  169.    static PrinterJob access$400(PrintingStatus var0) {
  170.       return var0.job;
  171.    }
  172.  
  173.    // $FF: synthetic method
  174.    static Action access$500(PrintingStatus var0) {
  175.       return var0.abortAction;
  176.    }
  177.  
  178.    // $FF: synthetic method
  179.    static void access$600(PrintingStatus var0, boolean var1) {
  180.       var0.showModalOnEDT(var1);
  181.    }
  182.  
  183.    // $FF: synthetic method
  184.    static void access$700(PrintingStatus var0) {
  185.       var0.disposeOnEDT();
  186.    }
  187.  
  188.    // $FF: synthetic method
  189.    static MessageFormat access$900(PrintingStatus var0) {
  190.       return var0.statusFormat;
  191.    }
  192. }
  193.